#ifndef DKA_LOG_MANAGER_H
#define DKA_LOG_MANAGER_H

#include <string>

namespace project_template {

/**
 * @brief Log管理器（单例）
 *
 */
class LogManager {
 public:
  static LogManager* GetInstance();

  /**
   * @brief 初始化
   *
   * @param _log_root_path 根路径
   * @param _retention_days log保留时间
   */
  void Init(std::string _log_root_path, int _retention_days = 30);

  /**
   * @brief Get the Log Path object 获取log路径
   *
   * @return std::string
   */
  std::string GetLogPath();

 private:
  /// @brief  实例
  static LogManager* instance_;
  /// @brief  log路径
  std::string log_root_path_;
  /// @brief  当前log路径
  std::string current_log_path_;
};

}  // namespace project_template

#endif
